/* Axios : 是一个基于 Promise 的 HTTP 客户端，用于在浏览器和 Node.js 中发送 HTTP 请求
        它支持 RESTful API 调用、请求拦截、响应拦截、自动转换 JSON 数据等功能
*/

/* 典型使用流程:
        (1)npm install axios
        (2)第三方导入：
                Es6 => import axios from 'axios'
                CommonJS => const axios = require('axios')
                浏览器直接引入（html文件） => <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
        (3)发送请求：
                axios.请求方式(地址，执行异步函数)
*/

const axios = require('axios')
const url = 'https://api.example.com/data'

//1.GET请求
axios.get(url)
    .then(response => {
        console.log('响应数据：', response.data)
    })
    .catch(error => {
        console.error('请求错误：', error)
    })

//1.2 带参GET函数
axios.get(url, {
    params: {
        id: 123,
        category: 'news'
    }
})
    .then(res => console.log(res.data))

//2.POST请求
axios.post(url, {
    name: 'John',
    age: 30
})
    .then(response => {
        console.log('创建用户成功，返回数据：', response.data)
    })
    .catch(error => {
        console.error('创建用户失败：', error)
    })


/* 基本请求方法:
    方法	          作用	                       示例代码
    axios.get()	     发送 GET 请求（获取数据）	    axios.get('/api/users').then(res => console.log(res.data))
    axios.post()	 发送 POST 请求（提交数据）  	axios.post('/api/users', { name: 'John' }).then(res => console.log(res))
    axios.put()	     发送 PUT 请求（更新数据）	    axios.put('/api/users/1', { name: 'Updated' })
    axios.delete()	 发送 DELETE 请求（删除数据）	axios.delete('/api/users/1')
*/

